package com.study.util;

import java.util.Set;

import redis.clients.jedis.Jedis;

public class RedisKeys {

	public static void main(String[] args) {
		Jedis jedis = RedisUtil.getJedis();
		//设置一下key值
		jedis.mset("a","av","aa","aav","b","bv","c","cv","d","dv","e","ev");
		//获取以a开头的key
		Set<String> keys = jedis.keys("a*");
		System.out.print("以a开头的key有：");
		for (String key : keys) {
			System.out.print(key+",");
		}
		System.out.println();
		
		//删除名称为aa的key
		jedis.del("aa");
		keys = jedis.keys("*");
		System.out.print("删除后的key有");
		for (String key : keys) {
			System.out.print(key+",");
		}
		System.out.println();
		
		//检查名字为aa的key是否存在
		boolean he = jedis.exists("aa");
		System.out.println("名字为aa的key是否存在:"+he);
		
		//为a设置300秒的过期时间
		jedis.expire("a", 300);
		//为b设置一个时间戳
		jedis.expireAt("b", 2293840000L);
		//设置c的过期时间为5*60*1000毫秒
		jedis.pexpire("c", 300000);
		//以秒返回a的剩余时间
		long attl = jedis.ttl("a");
		System.out.println("a的剩余时间(秒):" + attl);
		//以毫秒返回b的剩余时间
		long bpttl = jedis.pttl("b");
		System.out.println("b的剩余时间(毫秒):" + bpttl);
		//移除c的过期时间
		jedis.persist("c");
		//当 key 不存在时，返回 -2 。 当 key 存在但没有设置剩余生存时间时，返回 -1 。 否则，以秒为单位，返回 key 的剩余生存时间
		long cttl = jedis.ttl("c");
		System.out.println("c的剩余时间(秒):" + cttl);
		//修改a的名称为aa
		String result = jedis.rename("a", "aa");
		System.out.println("修改a的名称为aa是否成功：" + result);
		//返回aa值的类型
		String type = jedis.type("aa");
		System.out.println("aa所储存的值的类型:" + type);
		
		jedis.close();
		//RedisUtil.closeJedisPool();
	}
}
